/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

compiler type api
API related to job compiler type

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef CompileApiModel_h
#define CompileApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKCommon/JDCloudOCSDKCommon.h>
#import <JDCloudOCSDKCompile/CompileModel.h>


@interface CompileGetBuildStatusRequest:JDCloudRequest

/// job uuid
@property (strong,nonatomic,nonnull)  NSString*  jobid;
/// 构建任务uuid
@property (strong,nonatomic,nonnull)  NSString*  idValue;
-(id) initWithRegion:(NSString *)regionId
jobid:(NSString*)jobid
idValue:(NSString*)idValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
jobid:(NSString*)jobid
idValue:(NSString*)idValue;

@end

@interface CompileStartJobRequest:JDCloudRequest

/// 类型branch/commit/tag
@property (strong,nonatomic,nonnull)  NSString*  category;
/// 类型对应的值
@property (strong,nonatomic,nonnull)  NSString*  branch;
/// Job uuid
@property (strong,nonatomic,nonnull)  NSString*  idValue;
-(id) initWithRegion:(NSString *)regionId
category:(NSString*)category
branch:(NSString*)branch
idValue:(NSString*)idValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
category:(NSString*)category
branch:(NSString*)branch
idValue:(NSString*)idValue;

@end

@interface CompileDeleteJobRequest:JDCloudRequest

/// 编译任务uuid
@property (strong,nonatomic,nonnull)  NSString*  idValue;
-(id) initWithRegion:(NSString *)regionId
idValue:(NSString*)idValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
idValue:(NSString*)idValue;

@end

@interface CompileGetBuildLogRequest:JDCloudRequest

/// 查询日志的偏移量, 默认为0
@property (strong,nonatomic,nonnull)  NSNumber*  offsetNumber;
/// job uuid
@property (strong,nonatomic,nonnull)  NSString*  jobid;
/// 构建任务uuid
@property (strong,nonatomic,nonnull)  NSString*  idValue;
-(id) initWithRegion:(NSString *)regionId
offsetNumber:(NSNumber*)offsetNumber
jobid:(NSString*)jobid
idValue:(NSString*)idValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
offsetNumber:(NSNumber*)offsetNumber
jobid:(NSString*)jobid
idValue:(NSString*)idValue;

@end

@interface CompileGetBuildStatusResult : NSObject
/// 执行任务的job名称
 @property (strong,nonatomic,nonnull)  NSString*  name;
/// 开始执行构建的时间
 @property (strong,nonatomic,nonnull)  NSNumber*  createdAt;
/// 执行构建的状态
 @property (strong,nonatomic,nonnull)  NSString*  status;
/// 执行构建完成的百分比
 @property (strong,nonatomic,nonnull)  NSNumber*  completionRate;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithName:(NSString*) name

    createdAt:(NSNumber*)createdAt

    status:(NSString*)status

    completionRate:(NSNumber*)completionRate;
@end

@interface CompileGetExternalLinkResult : NSObject
/// Url
 @property (strong,nonatomic,nonnull)  NSString*  url;
/// Token
 @property (strong,nonatomic,nonnull)  NSString*  token;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithUrl:(NSString*) url

    token:(NSString*)token;
@end

@interface CompileCreateJobResult : NSObject
/// 构建任务的uuid
 @property (strong,nonatomic,nonnull)  NSString*  idValue;
/// 项目所有者/项目名称
 @property (strong,nonatomic,nonnull)  NSString*  codeRepoUrlLabel;
/// 构建成功则是true
 @property (strong,nonatomic,nonnull)  NSNumber*  result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithId:(NSString*) idValue

    codeRepoUrlLabel:(NSString*)codeRepoUrlLabel

    result:(NSNumber*)result;
@end

@interface CompileDeleteJobsRequest:JDCloudRequest

/// 待删除job的UUID列表
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  jobIds;
-(id) initWithRegion:(NSString *)regionId
jobIds:(NSArray<NSString*>*)jobIds;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
jobIds:(NSArray<NSString*>*)jobIds;

@end

@interface CompileUpdateJobResult : NSObject
/// 构建任务uuid
 @property (strong,nonatomic,nonnull)  NSString*  idValue;
/// 项目所有者/项目名称
 @property (strong,nonatomic,nonnull)  NSString*  codeRepoUrlLabel;
/// 更新成功则是true
 @property (strong,nonatomic,nonnull)  NSNumber*  result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithId:(NSString*) idValue

    codeRepoUrlLabel:(NSString*)codeRepoUrlLabel

    result:(NSNumber*)result;
@end

@interface CompileStopBuildResult : NSObject
/// Id
 @property (strong,nonatomic,nonnull)  NSString*  idValue;
/// Result
 @property (strong,nonatomic,nonnull)  NSNumber*  result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithId:(NSString*) idValue

    result:(NSNumber*)result;
@end

@interface CompileGetExternalLinkRequest:JDCloudRequest

/// 过期时间，单位秒， 默认1800秒
@property (strong,nonatomic,nonnull)  NSNumber*  expires;
/// job uuid
@property (strong,nonatomic,nonnull)  NSString*  jobid;
/// 构建任务uuid
@property (strong,nonatomic,nonnull)  NSString*  idValue;
-(id) initWithRegion:(NSString *)regionId
expires:(NSNumber*)expires
jobid:(NSString*)jobid
idValue:(NSString*)idValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
expires:(NSNumber*)expires
jobid:(NSString*)jobid
idValue:(NSString*)idValue;

@end

@interface CompileGetJobRequest:JDCloudRequest

/// Job uuid
@property (strong,nonatomic,nonnull)  NSString*  idValue;
-(id) initWithRegion:(NSString *)regionId
idValue:(NSString*)idValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
idValue:(NSString*)idValue;

@end

@interface CompileGetBuildLogResult : NSObject
/// Log
 @property (strong,nonatomic,nonnull)  NSString*  log;
/// OffsetNumber
 @property (strong,nonatomic,nonnull)  NSNumber*  offsetNumber;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithLog:(NSString*) log

    offsetNumber:(NSNumber*)offsetNumber;
@end

@interface CompileStopBuildRequest:JDCloudRequest

/// job uuid
@property (strong,nonatomic,nonnull)  NSString*  jobid;
/// 构建任务uuid
@property (strong,nonatomic,nonnull)  NSString*  idValue;
-(id) initWithRegion:(NSString *)regionId
jobid:(NSString*)jobid
idValue:(NSString*)idValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
jobid:(NSString*)jobid
idValue:(NSString*)idValue;

@end

@interface CompileDeleteJobsResult : NSObject
/// true表示删除成功，false表示删除失败
 @property (strong,nonatomic,nonnull)  NSNumber*  result;
/// Ids
 @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ids;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithResult:(NSNumber*) result

    ids:(NSArray<NSString*>*)ids;
@end

@interface CompileStartJobResult : NSObject
/// 提交任务是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  commitresult;
/// 提交运行的构建任务的uuid
 @property (strong,nonatomic,nonnull)  NSString*  buildUuid;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCommitresult:(NSNumber*) commitresult

    buildUuid:(NSString*)buildUuid;
@end

@interface CompileDeleteJobResult : NSObject
/// 提交任务是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  commitresult;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCommitresult:(NSNumber*) commitresult;
@end

@interface CompileCreateDemoResult : NSObject
/// Job
 @property (strong,nonatomic,nonnull)  Job*  job;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithJob:(Job*) job;
@end

@interface CompileCreateDemoResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileCreateDemoResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileCreateDemoResult*) result;
@end

@interface CompileCreateDemoRequest:JDCloudRequest

@end

@interface CompileGetBuildStatusResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileGetBuildStatusResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileGetBuildStatusResult*) result;
@end

@interface CompileGetJobsRequest:JDCloudRequest

/// 对某一列排序
@property (strong,nonatomic,nonnull)  NSArray<Sort*>*  sorts;
/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为10；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 编译任务名
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
sorts:(NSArray<Sort*>*)sorts
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sorts:(NSArray<Sort*>*)sorts
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

@interface CompileGetJobResult : NSObject
/// Job
 @property (strong,nonatomic,nonnull)  Job*  job;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithJob:(Job*) job;
@end

@interface CompileUpdateJobRequest:JDCloudRequest

/// Data
@property (strong,nonatomic,nonnull)  JobRequest*  data;
/// job uuid
@property (strong,nonatomic,nonnull)  NSString*  idValue;
-(id) initWithRegion:(NSString *)regionId
data:(JobRequest*)data
idValue:(NSString*)idValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
data:(JobRequest*)data
idValue:(NSString*)idValue;

@end

@interface CompileGetExternalLinkResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileGetExternalLinkResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileGetExternalLinkResult*) result;
@end

@interface CompileUpdateJobResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileUpdateJobResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileUpdateJobResult*) result;
@end

@interface CompileGetJobResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileGetJobResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileGetJobResult*) result;
@end

@interface CompileCreateJobResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileCreateJobResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileCreateJobResult*) result;
@end

@interface CompileGetJobsResult : NSObject
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
/// Jobs
 @property (strong,nonatomic,nonnull)  NSArray<SimpleJob*>*  jobs;
/// RequestId
 @property (strong,nonatomic,nonnull)  NSString*  requestId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithTotalCount:(NSNumber*) totalCount

    jobs:(NSArray<SimpleJob*>*)jobs

    requestId:(NSString*)requestId;
@end

@interface CompileGetJobsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileGetJobsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileGetJobsResult*) result;
@end

@interface CompileCreateJobRequest:JDCloudRequest

/// Data
@property (strong,nonatomic,nonnull)  JobRequest*  data;
-(id) initWithRegion:(NSString *)regionId
data:(JobRequest*)data;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
data:(JobRequest*)data;

@end

@interface CompileGetBuildLogResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileGetBuildLogResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileGetBuildLogResult*) result;
@end

@interface CompileDeleteJobResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileDeleteJobResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileDeleteJobResult*) result;
@end

@interface CompileStartJobResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileStartJobResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileStartJobResult*) result;
@end

@interface CompileDeleteJobsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileDeleteJobsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileDeleteJobsResult*) result;
@end

@interface CompileStopBuildResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property CompileStopBuildResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(CompileStopBuildResult*) result;
@end

#endif /* CompileApiModel_h */
